
echo ===== 集成医疗诊断平台一键打包工具 =====
echo 本工具将打包完整的应用程序，包括Python后端和Electron前端
echo.

echo 检查环境...
where node >nul 2>nul
if %ERRORLEVEL% neq 0 (
    echo 错误: 未找到Node.js，请先安装Node.js
    goto end
)

where python >nul 2>nul
if %ERRORLEVEL% neq 0 (
    echo 错误: 未找到Python，请先安装Python
    goto end
)

echo 检查Python版本...
python -c "import sys; print(f'当前Python版本: {sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}')"
python -c "import sys; sys.exit(0 if sys.version_info.major == 3 and sys.version_info.minor == 10 else 1)"
if %ERRORLEVEL% neq 0 (
    echo 错误: 需要Python 3.10版本！当前Python版本不兼容TensorFlow 2.9.0
    echo 请安装并使用Python 3.10版本运行此工具
    goto end
)

echo 检查TensorFlow、Keras和protobuf版本...
python -c "import tensorflow as tf; import keras; from google import protobuf; print(f'当前TensorFlow版本: {tf.__version__}, Keras版本: {keras.__version__}, Protobuf版本: {protobuf.__version__}')" 2>nul
if %ERRORLEVEL% neq 0 (
    echo 警告: TensorFlow、Keras或protobuf未安装或版本不匹配
    echo 构建过程将尝试从阿里云源安装正确版本
    echo 注意: TensorFlow 2.9.0需要protobuf 3.20.0或更低版本
)

echo.
echo 准备开始构建过程，这可能需要一些时间...
echo 是否继续？(Y/N)
set /p choice=
if /i not "%choice%"=="Y" goto end

echo.
echo 开始构建过程...
call npm run build:all

if %ERRORLEVEL% neq 0 (
    echo.
    echo 构建过程失败，请查看错误信息
) else (
    echo.
    echo 构建成功！应用程序已打包到 dist_electron 目录
)

:end
echo.
pause